package com.qys.livesMall.shop.modal.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 团队统计数据
 * </p>
 *
 * @author
 * @since 2023-11-08
 */
@Getter
@Setter
@TableName("h2_shop_statistics_team")
@Schema(name = "ShopStatisticsTeam", description = "团队统计数据")
public class ShopStatisticsTeam implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "近3代人数(自己的1.2.3代做判断的真实用户+状态正常+充值用户+V1以上的用户)")
    private Integer lastThreeNum;

    @Schema(description = "近3代注册人数(他自己下面的1.2.3代用户统计，判断：状态正常+真实用户)")
    private Integer lastThreeRegisterNum;

    @Schema(description = "近3代充提差额（自己的1.2.3代）")
    private BigDecimal lastThreeDifference;

    @Schema(description = "近3代待提现金额（自己的1.2.3代）")
    private BigDecimal lastThreeWaitWithdrawal;

    @Schema(description = "近3代提现金额自己的1.2.3代）")
    private BigDecimal lastThreeWithdrawal;

    @Schema(description = "累计团队收益（自己1-n代）")
    private BigDecimal teamCumulative;

    @Schema(description = "近3代充值金额(自己的1.2.3代）")
    private BigDecimal lastThreeRecharge;

    @Schema(description = "近期新增人数(30天自己下面的1.2.3代 新增首充+真实用户+状态正常)")
    private Integer recentAdd;

    @Schema(description = "过期人数(自己下面的1.2.3代 余额小于20+真实用户+状态正常+充值用户)")
    private Integer expireNumber;

    @Schema(description = "近期过期人数(自己下面的1.2.3代 余额小于20+真实用户+状态正常+充值用户)")
    private Integer expireRecent;

    @Schema(description = "直推人数(真实用户+状态正常+充值用户+V1以上的)")
    private Integer directNumber;

    @Schema(description = "2代人数(真实用户+状态正常+充值用户+V1以上的)")
    private Integer twoNumber;

    @Schema(description = "3代人数(真实用户+状态正常+充值用户+V1以上的)")
    private Integer threeNumber;

    @Schema(description = "团队复充金额(1-n代)")
    private BigDecimal teamRepeatedRecharge;

    @Schema(description = "近3代复充金额(1-3代)")
    private BigDecimal lastThreeGenRecharge;

    @Schema(description = "团队提现金额(自己的1-n代)")
    private BigDecimal teamWithdrawal;

    @Schema(description = "最后统计时间")
    private LocalDateTime updateTime;

    @Schema(description = "团队人数")
    private Integer teamNum;
}
